home *** CD-ROM | disk | FTP | other *** search
/ LG Super CD / LG Super CD.iso / bitpim / bitpim-0.9.10-setup.exe / {app} / resources / styles.xy < prev    next >
Encoding:
Text File  |  2006-12-06  |  3.6 KB  |  113 lines

  1. ### BITPIM
  2. ###
  3. ### Copyright (C) 2003-2004 Roger Binns <rogerb@rogerbinns.com>
  4. ###
  5. ### This program is free software; you can redistribute it and/or modify
  6. ### it under the terms of the BitPim license as detailed in the LICENSE file.
  7. ###
  8. ### $Id: styles.xy 1519 2004-08-20 09:58:57Z rogerb $
  9.  
  10. # This is pure Python code which sets up the styles and provides
  11. # some helper functions
  12.  
  13. styles={}
  14.  
  15. styles['table']={ '': ('width', "100%", 'cellpadding', "5", 'cellspacing', "0"),
  16.                   'td': ('valign', 'top')
  17.                   }
  18.  
  19. # Panels are the rectangles containing each section.  The
  20. # styles are used in a TD tag
  21.  
  22. styles['wallpaperpanel']={ '': ('bgcolor', "#c2d4e6", 'width', '72') }
  23. styles['ringtonepanel']= { '': ('bgcolor', "#7f97d4", 'width', '20') }
  24. styles['namepanel']={ '': ('valign', "center", 'align', "center", 'bgcolor', "#c2d4e6") }
  25. styles['categoryflagspanel']={ '': ('bgcolor', "#91c37f", 'width', '75') }
  26. styles['urlpanel']={'': ('bgcolor', "#c2d4e6") }
  27.  
  28. styles['numberroweven']={'': ('bgcolor', "#99aabb") }
  29. styles['numberrowodd']={ '': ('bgcolor', "#bbaa99") }
  30.  
  31. styles['emailroweven']={'': ('bgcolor', "#aabb99") }
  32. styles['emailrowodd']={ '': ('bgcolor', "#d47f97") }
  33.  
  34. styles['memopanel']={ '': ('bgcolor', "#91c37f") }
  35.  
  36. styles['addresseven']={ '': ('bgcolor', "#c2d4e6") } 
  37. styles['addressodd']={ '': ('bgcolor', "#7f97d4") }
  38.  
  39. # Individual text items
  40. styles['url']={ '': ('color', "#2727ee") }
  41. # styles['addresstext']=''
  42.  
  43. styles['name']={ '+font': ('color', "#0000ff", 'size', "+1"),
  44.                  '+b': () }
  45. styles['secret']={ '+font': ('size', '-2') }
  46. styles['category']={ '+font': ('color', "#123456") }
  47. styles['numbertype']={ 'td': ('width', '75', 'align', 'right'),
  48.                        '+b': () }
  49. styles['email']={ '+code': () }
  50.  
  51. # Some functions used to make life easier
  52. def formatname(name):
  53.     # Returns a string of the name in name.
  54.     # Since there can be many fields, we try to make sense of them
  55.     res=""
  56.     res+=name.get("full", "")
  57.     f=name.get("first", "")
  58.     m=name.get("middle", "")
  59.     l=name.get("last", "")
  60.     if len(f) or len(m) or len(l):
  61.         if len(res):
  62.             res+=" | "
  63.         # severe abuse of booleans
  64.         res+=f+(" "*bool(len(f)))
  65.         res+=m+(" "*bool(len(m)))
  66.         res+=l+(" "*bool(len(l)))
  67.     if name.has_key("nickname"):
  68.         res+=" ("+name["nickname"]+")"
  69.     return res
  70.  
  71. import phonenumber
  72. def formatnumber(number):
  73.     sd=number.get("speeddial", None)
  74.     if sd is None:
  75.         return phonenumber.format(number['number'])
  76.     return "%s [%d]" % (phonenumber.format(number['number']), sd)
  77.  
  78. def get_flag(entry, name, default=None):
  79.     # looks for the named flag
  80.     for flag in entry.get('flags', []):
  81.         if flag.has_key(name):
  82.             return flag[name]
  83.     return default
  84.         
  85. def has_flag(entry,name):
  86.     # Looks for the named flag and returns true if it is set to True
  87.     # else false is returned
  88.     return get_flag(entry,name,False)
  89.  
  90. def titlecase(string):
  91.     # uppercases first letter
  92.     return string[0].upper()+string[1:]
  93.  
  94. def urltype(url):
  95.     # returns the type of the url, or empty string
  96.     res=url.get("type","")
  97.     if len(res):
  98.         return "("+titlecase(res)+")"
  99.     return res
  100.  
  101. def formataddress(address):
  102.     res=""
  103.     for field in "type", "company", "street", "street2", "city", "state", "postalcode", "country":
  104.         if address.has_key(field):
  105.             res+=htmlify(address[field])+"<br/>"
  106.     return res
  107.  
  108. def htmlify(string):
  109.     return string.replace("&", "&").replace('"', """).replace("<", "<").replace(">", ">").replace("\n", "<br/>")
  110.  
  111.         
  112.     
  113.